package v2template_request

import (
	"os"
	"private-go-sdk/http"
	"private-go-sdk/model/common"
	"encoding/json"
)

type V2TemplateUpdateRequest struct {
	// <ext>inner-type:Json<UpdateTemplateInfo>;core:true</ext> 【模板信息】模板信息
	TemplateInfo string `json:"templateInfo"`
	// <ext>core:true</ext> 【模板文件】模板文件 【作用】 传入需更新的模板文件 【传参】 1、若修改HTML模板的文件，仅支持传入契约锁系统导出html模板时生成的txt、json格式的文件。 2、若修改PDF模板的文件，仅支持传入PDF格式的模板文件。 3、若修改Word模板，仅支持传入docx等格式的模板文件。  
	TemplateFile *os.File `json:"templateFile,omitempty"`
	TemplateInfoObject *common.UpdateTemplateInfo `json:"templateInfoObject,omitempty"`
}
func (obj V2TemplateUpdateRequest) GetUrl() string {
    return "/v2/template/update"
}

func (obj V2TemplateUpdateRequest) GetHttpParameter() *http.HttpParameter {
    parameter := http.NewPostHttpParameter()
    parameter.AddFiles("templateFile", obj.TemplateFile)
    if obj.TemplateInfoObject != nil {
       jsonBytes, _ := json.Marshal(obj.TemplateInfoObject)
       parameter.AddParam("templateInfo", string(jsonBytes))
   } else {
       parameter.AddParam("templateInfo", obj.TemplateInfo)
   }
    return parameter
}
